"""
Interface definitions for DIL_Frame's learner components.

This module provides the core interfaces that define how different components
of the learning system interact with each other:
- LearnerInterface: Core learning algorithm interface
- Component interfaces: Building blocks for the learning system
- Strategy interfaces: Different algorithmic approaches for learning and adaptation
"""

__version__ = "0.1.0"

# Import interfaces by functional categories
# Core learner interface
from .learner_interface import LearnerInterface
from .evaluation_interface import EvaluationInterface

# Component interfaces
from .component_interfaces import (
    BaseHookEvents,
    HookCallback,
    MemoryInterface,
    PrototypeInterface,
)

# Strategy interfaces
from .strategy_interface import (
    DriftCompensationInterface,
    TrainingInterface,
    ClassifierAlignmentInterface,
)

# Add new data manager interface
from .data_manager_interface import DataManagerInterface

__all__ = [
    # Core learner interface
    "LearnerInterface",
    # Component interfaces
    "EvaluationInterface",
    "BaseHookEvents",
    "HookCallback",
    "MemoryInterface",
    "PrototypeInterface",
    # Strategy interfaces
    "DriftCompensationInterface",
    "TrainingInterface",
    "ClassifierAlignmentInterface",
    "DataManagerInterface",
]
